/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.halos.interfaz.vista;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author josue
 */
public abstract class Sujeto {
    
    private List<IObservador> listaObservadores;
    
    public Sujeto() {
        listaObservadores = new ArrayList<>();
    }
    
    protected void addObservador(IObservador observador){
        listaObservadores.add(observador);
    }
    
    protected void removeObservador(IObservador observador){
        listaObservadores.remove(observador);
    }
    
    protected void removeObservador(int index){
        listaObservadores.remove(index);
    }
    
    
    public void notificarObservadores(Object suceso){
        for (IObservador iObservador : listaObservadores) {
            iObservador.atentoAlCambio(this);
        }
    };
    
    
    
}
